/*    */ package handling.world.family;
/*    */ 
/*    */ import client.MapleBuffStat;
/*    */ import client.MapleCharacter;
/*    */ import java.util.EnumMap;
/*    */ import java.util.Map;
/*    */ import java.util.concurrent.ScheduledFuture;
/*    */ import server.MapleItemInformationProvider;
/*    */ import server.MapleStatEffect;
/*    */ import server.Timer;
/*    */ 
/*    */ 
/*    */ 
/*    */ public enum MapleFamilyBuff
/*    */ {
/* 16 */   瞬移("瞬移", "[对象] 我自己\n[效果] 可以马上瞬移到自己想去见的学院成员所在的身边.", 0, 0, 0, 300, 190000),
/* 17 */   召唤("召唤", "[对象] 学院成员1名\n[效果] 可以召唤自己想召唤的学院成员到自己的身边.", 1, 0, 0, 500, 190001),
/* 18 */   爆率15分钟("我的爆率 1.2倍(15分钟)", "[对象] 我自己\n[持续时间] 15分钟\n[效果] 打猎怪物时提升怪物爆率 #c1.2倍#.\n※ 与爆率活动重叠时效果被无视.", 2, 15, 120, 700, 190002),
/* 19 */   经验15分钟("我的经验值 1.2倍(15分钟)", "[对象] 我自己\n[持续时间] 15分钟\n[效果] 打猎怪物时提升怪物经验值#c1.2倍#.\n※ 与经验值活动重叠时效果被无视.", 3, 15, 120, 900, 190003),
/* 20 */   爆率30分钟("我的爆率 1.2倍(30分钟)", "[对象] 我自己\n[持续时间] 30分钟\n[效果] 打猎怪物时提升怪物爆率#c1.2倍#.\n※ 与爆率活动重叠时效果被无视.", 2, 30, 120, 1500, 190004),
/* 21 */   经验30分钟("我的经验值 1.2倍(30分钟)", "[对象] 我自己\n[持续时间] 30分钟\n[效果] 打猎怪物时提升怪物经验值 #c1.2倍#.\n※ 与经验值活动重叠时效果被无视.", 3, 30, 120, 2000, 190005),
/*    */ 
/*    */   
/* 24 */   团结("团结(30分钟)", "[发动条件]学院关系图中下端上学院成员有6名以上在线时\n[持续时间] 30分钟\n[效果] 提升爆率,经验值#c1.5倍#. ※ 与爆率经验值活动重叠时,效果被无视.", 4, 30, 150, 3000, 190006);
/*    */   
/*    */   public final String name;
/*    */   
/*    */   public final String desc;
/*    */   
/*    */   public final int rep;
/*    */   
/*    */   public final int type;
/*    */   public final int questID;
/*    */   public final int duration;
/*    */   public final int effect;
/*    */   public Map<MapleBuffStat, Integer> effects;
/*    */   
/*    */   MapleFamilyBuff(String name, String desc, int type, int duration, int effect, int rep, int questID) {
/* 39 */     this.name = name;
/* 40 */     this.desc = desc;
/* 41 */     this.rep = rep;
/* 42 */     this.type = type;
/* 43 */     this.questID = questID;
/* 44 */     this.duration = duration;
/* 45 */     this.effect = effect;
/* 46 */     setEffects();
/*    */   }
/*    */   
/*    */   public int getEffectId() {
/* 50 */     switch (this.type) {
/*    */       case 2:
/* 52 */         return 2022694;
/*    */       case 3:
/* 54 */         return 2450018;
/*    */     } 
/* 56 */     return 2022332;
/*    */   }
/*    */ 
/*    */   
/*    */   public void setEffects() {
/* 61 */     this.effects = new EnumMap<>(MapleBuffStat.class);
/* 62 */     switch (this.type) {
/*    */       case 2:
/* 64 */         this.effects.put(MapleBuffStat.DROP_RATE, Integer.valueOf(this.effect));
/* 65 */         this.effects.put(MapleBuffStat.MESO_RATE, Integer.valueOf(this.effect));
/*    */         break;
/*    */       case 3:
/* 68 */         this.effects.put(MapleBuffStat.EXPRATE, Integer.valueOf(this.effect));
/*    */         break;
/*    */       case 4:
/* 71 */         this.effects.put(MapleBuffStat.EXPRATE, Integer.valueOf(this.effect));
/* 72 */         this.effects.put(MapleBuffStat.DROP_RATE, Integer.valueOf(this.effect));
/* 73 */         this.effects.put(MapleBuffStat.MESO_RATE, Integer.valueOf(this.effect));
/*    */         break;
/*    */     } 
/*    */   }
/*    */ 
/*    */   
/*    */   public void applyTo(MapleCharacter chr) {
/* 80 */     MapleStatEffect eff = MapleItemInformationProvider.getInstance().getItemEffect(getEffectId());
/* 81 */     chr.cancelEffect(eff, true, -1L, this.effects);
/* 82 */     long starttime = System.currentTimeMillis();
/* 83 */     MapleStatEffect.CancelEffectAction cancelAction = new MapleStatEffect.CancelEffectAction(chr, eff, starttime, this.effects);
/* 84 */     ScheduledFuture<?> schedule = Timer.BuffTimer.getInstance().schedule((Runnable)cancelAction, (this.duration * 60000));
/* 85 */     chr.registerEffect(eff, starttime, schedule, this.effects, false, this.duration, chr.getId());
/*    */   }
/*    */ }


/* Location:              C:\PGX\Server.jar!\handling\world\family\MapleFamilyBuff.class
 * Java compiler version: 8 (52.0)
 * JD-Core Version:       1.1.3
 */